#ifndef __PLAYERFONTS_H__
#define __PLAYERFONTS_H__

// Includes
#include <PA9.h>       // Include for PA_Lib


#include "Init.h"
#include "DisplayText.h"


//set enemy fonts
void setAviFont(u16 dmg)
{
		//find an available sprite set, then set fonts
		if(PA_GetSpriteAnimFrame(0, 22) == 0)
		{
			//save time
			playerfontOneTime = Tick(gameClock);
			
			//set location
			PA_SetSpriteX(0, 29, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2) - 8));
			PA_SetSpriteY(0, 29, (PA_GetSpriteY(0, avSprNo)));
			PA_SetSpriteX(0, 30, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2)));
			PA_SetSpriteY(0, 30, (PA_GetSpriteY(0, avSprNo)));
			PA_SetSpriteX(0, 31, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2) + 8));
			PA_SetSpriteY(0, 31, (PA_GetSpriteY(0, avSprNo)));
			
			//set font
			displayText(0, 29, dmg, 100);
			displayText(0, 30, dmg, 10);
			displayText(0, 31, dmg, 1);
			
		}
		else if(PA_GetSpriteAnimFrame(0, 25) == 0)
		{
			playerfontTwoTime = Tick(gameClock);
			
			PA_SetSpriteX(0, 32, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2) - 8));
			PA_SetSpriteY(0, 32, (PA_GetSpriteY(0, avSprNo)));
			PA_SetSpriteX(0, 33, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2)));
			PA_SetSpriteY(0, 33, (PA_GetSpriteY(0, avSprNo)));
			PA_SetSpriteX(0, 34, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2) + 8));
			PA_SetSpriteY(0, 34, (PA_GetSpriteY(0, avSprNo)));
			
			displayText(0, 32, dmg, 100);
			displayText(0, 33, dmg, 10);
			displayText(0, 34, dmg, 1);

		}
		else
		{
			playerfontThreeTime = Tick(gameClock);
			
			PA_SetSpriteX(0, 35, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2) - 8));
			PA_SetSpriteY(0, 35, (PA_GetSpriteY(0, avSprNo)));
			PA_SetSpriteX(0, 36, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2)));
			PA_SetSpriteY(0, 36, (PA_GetSpriteY(0, avSprNo)));
			PA_SetSpriteX(0, 37, (PA_GetSpriteX(0, avSprNo) + 	(PA_GetSpriteLx(0, avSprNo) / 2) + 8));
			PA_SetSpriteY(0, 37, (PA_GetSpriteY(0, avSprNo)));
			
			displayText(0, 35, dmg, 100);
			displayText(0, 36, dmg, 10);
			displayText(0, 37, dmg, 1);
		}

}



//set enemy fonts
void updateAviFont(bool alive)
{
	//if((PA_GetSpriteAnimFrame(0, sprNo) > 16) && (PA_GetSpriteAnimFrame(0, sprNo) < 21))
	{
		//update sprite location
		for(int i = 29; i < 38; i++)
		{
			PA_SetSpriteY(0, i, (PA_GetSpriteY(0, i) - 1));
		}
	
	}
	
	//hide sprites
	if((((playerfontOneTime + playerfontOneInc) <= Tick(gameClock)) || (!alive)) 
	&& (PA_GetSpriteAnimFrame(0, 31) != 0))
	{
		PA_SetSpriteAnim(0, 29, 0);
		PA_SetSpriteAnim(0, 30, 0);
		PA_SetSpriteAnim(0, 31, 0);
		
	}
	
	if((((playerfontTwoTime + playerfontTwoInc) <= Tick(gameClock)) || (!alive))
	&& (PA_GetSpriteAnimFrame(0, 34) != 0))
	{
		PA_SetSpriteAnim(0, 32, 0);
		PA_SetSpriteAnim(0, 33, 0);
		PA_SetSpriteAnim(0, 34, 0);
		
	}
	
	if((((playerfontThreeTime + playerfontThreeInc) <= Tick(gameClock)) || (!alive))
	&& (PA_GetSpriteAnimFrame(0, 37) != 0))
	{
		PA_SetSpriteAnim(0, 35, 0);
		PA_SetSpriteAnim(0, 36, 0);
		PA_SetSpriteAnim(0, 37, 0);
		
	}
	
	/*
	//unset hit animation
	if((fontOneMonNo !=999) && ((fontOneTime + hitOneInc) <= Tick(gameClock)))
	{
		bg[fontOneMonNo]->unsetHitFlag(); //unset hit flag
	}
	
	if((fontTwoMonNo !=999) && ((fontOneTime + hitTwoInc) <= Tick(gameClock)))
	{
		bg[fontTwoMonNo]->unsetHitFlag();
	}
	
	if((fontThreeMonNo !=999) && ((fontOneTime + hitThreeInc) <= Tick(gameClock)))
	{
		bg[fontThreeMonNo]->unsetHitFlag();
	}
	*/
	
}

	


#endif  //__PLAYERFONTS_H__
